// 管理员令牌验证云函数
exports.main = async (event, context) => {
  try {
    const { token } = event;
    
    // 验证参数
    if (!token) {
      return {
        code: 401,
        message: '未提供令牌'
      };
    }
    
    // 解析令牌（简化实现，实际项目中应该使用JWT等进行验证）
    const tokenParts = token.split('_');
    if (tokenParts.length !== 3) {
      return {
        code: 401,
        message: '无效的令牌格式'
      };
    }
    
    const adminId = tokenParts[0];
    const timestamp = parseInt(tokenParts[1]);
    
    // 检查令牌是否过期（24小时过期）
    const now = Date.now();
    const tokenExpiry = 24 * 60 * 60 * 1000; // 24小时
    
    if (now - timestamp > tokenExpiry) {
      return {
        code: 401,
        message: '令牌已过期'
      };
    }
    
    // 查询管理员信息
    const db = uniCloud.database();
    const adminCollection = db.collection('admin');
    
    const admin = await adminCollection.doc(adminId).get();
    
    if (!admin.data || !admin.data._id) {
      return {
        code: 401,
        message: '管理员不存在'
      };
    }
    
    // 令牌有效
    return {
      code: 0,
      message: '令牌有效',
      adminInfo: {
        _id: admin.data._id,
        username: admin.data.username,
        role: admin.data.role || 'admin'
      }
    };
    
  } catch (error) {
    console.error('验证令牌失败:', error);
    return {
      code: 500,
      message: '验证失败，请稍后重试'
    };
  }
};